Typical computer systems, especially computer systems using graphical user interface (GUI) systems such as Microsoft WINDOWS, are optimized for accepting user input from one or more discrete input devices such as a keyboard and for entering text, and a pointing device such as a mouse with one or more buttons for driving the user interface. Virtually all software applications designed to run on Microsoft WINDOWS are optimized to accept user input in the same manner. For instance, many applications make extensive use of the right mouse button (a “right click”) to display context-sensitive command menus. The user may generate other gestures using the mouse such as by clicking the left button of the mouse (a “left click”), or by clicking the left or right button of the mouse and moving the mouse while the button is depressed (either a “left click drag” or a “right click drag”).
In some environments, a mouse is not usable or desirable. For example, in a digitizer tablet environment, the primary input device may be a stylus. While a stylus attempts to provide pad and paper-like feel to a computing environment, current systems are limited. For example, the use of a stylus in a graphical user interface is limited to tapping on various items for selection. See, for example, the Palm-series of products using the Palm OS 3.x operating systems. Further, in stylus-based input environments, a user is continually forced to select tools or operations from a remote tool bar, generally on a top or bottom of a screen. While a user can type in letters or have the digitizer recognize handwriting, these operations require selecting a keyboard input mode and writing in a predefined portion of the digitizer, respectively. In short, requiring a user to tell the computer, for every new input, what a user wants to do makes stylus-based computing difficult for the average user.
Some operations create new text (for example, writing, typing, pasting text and the like). Other operations modify the text (highlighting, inking, erasing, cutting and moving existing text). A problem with performing the latter modifying operations is that these latter operations are not generally the primary mode of operating for most users. In other words, while a user may modify text, this operation will be secondary to more primary operations of creating new text. Accordingly, the user will eventually need to transition from the modifying text (or other content) operation to the creating text environment. Conventional transitions include toggling a button on a tool bar. Buttons may include an erase button, a highlight button and the like. Toggle buttons, while making it clear for a user on how to select the operating mode and the state of the mode (by being depressed or not), can be cumbersome to use when alternating between various modes in that the user is continuously moving from generally a central portion of a display screen to a remote tool bar (housing the toggle button) juxtaposed to an end of the screen then back again. This repetitive motion and the attention one needs to employ to switch from the auxiliary mode or modes back to the primary mode of operation distracts the user's attention from actively reading or writing to the mundane task of switching between modes.
For example, FIG. 3 shows a conventional system for switching between modes. A primary mode 301 is where a user enters text, pastes text, and the like. An auxiliary mode is where a user erases text, highlights text, and selects text.
Accordingly, a need exists for minimizing operations for switching between modes of operation in a computer environment.